import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class Main {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		boolean serverOn = true;
		ServerSocket servidor = null;
		Socket cliente = null;
		PrintWriter salida = null;
		BufferedReader entrada = null;
		try {
			
			servidor = new ServerSocket(5000);
			do {
				String entradaCliente = null;
				cliente = servidor.accept();
				System.out.println("Cliente conectado");
				 salida = new PrintWriter(cliente.getOutputStream(),true);
				entrada = new BufferedReader(
						new InputStreamReader(cliente.getInputStream()));
				
					entradaCliente = entrada.readLine().toString();
					String aux = ""+entradaCliente.charAt(0);
					int cod = Integer.parseInt(aux);
					switch(cod){
					case 1:
						salida.println("CODIGO 1");
						String ruta = entradaCliente.substring(1, entradaCliente.length());
						System.out.println("Ruta: "+ruta);
						tipoDeFile(ruta,salida);
						break;
					case 2:
						
						salida.println("CODIGO 2");
						String ruta2 = entradaCliente.substring(1, entradaCliente.length());
						
						borrarFile(ruta2,salida);
						break;
					case 3: 
						
						salida.println("CODIGO 3");
						String ruta3 = entradaCliente.substring(1, entradaCliente.length());
						System.out.println("Ruta: "+ruta3);
						crearFile(ruta3, salida);
						
						break;
					}
				
			} while (serverOn);

		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	public static void tipoDeFile(String ruta, PrintWriter salida){
		File file = new File("C:/"+ruta);
		System.out.println("Ruta: "+ruta);
		if(file.isDirectory()){
			salida.println("El Fichero es un directorio");
		}else{
			salida.println("El Fichero NO es un directorio");
		}
		
	}
	public static void borrarFile(String ruta, PrintWriter salida ){
		File file = new File("C:/"+ruta);
		System.out.println("Ruta: "+ruta);
		if(file.exists()){
			salida.println("El Fichero/directorio fue borrado correctamente");
			file.delete();
		}else{
			salida.println("El Fichero/directorio NO existe");
		}
	}
	public static void crearFile(String ruta, PrintWriter salida){
		File file = new File("C:/"+ruta);
		System.out.println("Ruta: "+ruta);
		if(!file.exists()){
			salida.println("El Fichero/directorio fue creado correctamente");
			file.mkdir();	
		}else{
			salida.println("El Fichero/directorio NO fue creado correctamente");
		}
		
	}
	
	
	
}
